package com.example.java.sort;

import java.util.Arrays;

import org.fusesource.mqtt.codec.PINGRESP;
/**
 * 简单排序
 * @author SOAL
 *
 */
public class SelectSort {
	public static void main(String[] args) {
		int[] a = { 32, 43, 23, 13, 5 };
		System.out.println(Arrays.toString(a));
		selectSort(a);
		System.out.println(Arrays.toString(a));
	}

	public static  void selectSort(int[] a) {
		int len = a.length;
		 for (int i = 0; i < len; i++) {
			int value=a[i];
			int position = i;
			for (int j = i+1; j < len; j++) {
				if(a[j]<value){
					value=a[j];//最小值
					position =j;//最小值位置
				}
			}
			
			//最小值和当前值互换
			a[position]=a[i];
			a[i]=value;
		}
	}
	
	/*常用于取序列中最大最小的几个数时。
	(如果每次比较都交换，那么就是交换排序；如果每次比较完一个循环再交换，就是简单选择排序。)
	遍历整个序列，将最小的数放在最前面。
	遍历剩下的序列，将最小的数放在最前面。
	重复第二步，直到只剩下一个数。*/
}
